package org.springframework.beans.factory;

import org.springframework.lang.Nullable;

//工厂Bean，用于产生其他对象
public interface FactoryBean<T> {

	//获取容器管理的对象实例
	@Nullable
	T getObject() throws Exception;

	//获取Bean工厂创建的对象的类型
	@Nullable
	Class<?> getObjectType();

	//Bean工厂创建的对象是否是单态模式，如果是单态模式，则整个容器中只有一个实例
	//对象，每次请求都返回同一个实例对象
	default boolean isSingleton() {
		return true;
	}
}
